import { EntityModel } from '@midwayjs/orm';
import { Column, JoinColumn, ManyToOne, PrimaryGeneratedColumn } from 'typeorm';
import { UserEntity } from './user';

@EntityModel({
  name: 'message',
})
export class MessageEntity {
  @PrimaryGeneratedColumn({
    type: 'bigint',
    comment: '主键id',
  })
  id: number;

  @Column({
    type: 'int',
    name: 'from_id',
    nullable: false, // 不能为null
    comment: '发送者id',
  })
  fromId: number;

  @Column({
    type: 'int',
    name: 'to_id',
    nullable: false, // 不能为null
    comment: '接受者id',
  })
  toId: number;

  @Column({
    type: 'varchar',
    nullable: false, // 不能为null
    comment: '聊天内容',
  })
  content: string;

  @Column({
    type: 'int',
    name: 'content_type',
    nullable: false, // 不能为null
    comment: '聊天消息类型 1 文字 2 图片 3 文件 4 其他',
  })
  contentType: number;

  @Column({
    type: 'int',
    nullable: false, // 不能为null
    default: 1,
    comment: '消息状态 1 未读 2 已读',
  })
  status: number;

  @Column({
    type: 'varchar',
    length: 20,
    nullable: false, // 不能为null
    comment: '发送时间',
  })
  time: string;

  @ManyToOne(type => UserEntity)
  @JoinColumn({
    name: 'from_id',
  })
  users: UserEntity;
}
